Jiaqi Chen (jc5681), Xinran Sun (xs2447), Yiru Gong (yg2832), Yunlin Zhou (yz4184)

Data Input

happy_df = readxl::read_xls('DataPanelWHR2021C2.xls') %>% 
  janitor::clean_names()

World map of Happiness

happy_iso3 = happy_df %>% 
  subset(
    country_name != "Kosovo" & country_name != "Somaliland region"
  ) %>% 
  mutate(
    country_code = countrycode(country_name, "country.name", "iso3c")
  ) %>% 
  relocate(country_code)
plot_2018_map = happy_iso3 %>% 
  filter(year == 2018) %>% 
  plot_ly(
    type = 'choropleth', locations = ~country_code, z = ~life_ladder,
    text = ~country_name
  )

plot_2018_map

Happiness score Rank

barplot

Happiness score Rank (2018, bar plot)

score_rank = 
  happy_df %>% 
  filter(year == "2018") %>% 
  arrange(life_ladder) %>% 
  mutate(
    country_name = factor(country_name, levels = country_name)
  )

score_rank %>% 
  plot_ly(x = ~life_ladder, y = ~country_name, color = ~country_name, type = "bar", colors = "viridis")

Yearly Trend (line plot)

yearly_trend = 
  happy_df %>% 
  filter(country_name == "Denmark" | country_name == "United States" | country_name == "China" | country_name == "Afghanistan" | country_name == "Mongolia" | country_name == "Haiti") %>% 
  ggplot(aes(group = country_name, x = year, y = life_ladder, color = country_name)) + geom_point(alpha = .5) + geom_line() 

Regression Model